1. Field of the Invention
The invention relates to a method of autonomous provisioning of resources of a computer system, and a computer device, data processing program, computer program product, and computer data signal therefor.
2. Description of the Related Art
In an environment of quickly changing demand for computing resources, there is a need to handle changing workloads by providing additional processing capacity for a computer system, so that given performance objectives can be achieved. A key element to enable that capability is provisioning, by which resources are made available when needed.
In the state of the art, various different types of provisioning methods are generally known:
System or image provisioning, such as the creation or cloning of operating system instances, including installation of required subsystems and applications, is a horizontal (scale-out) provisioning method in distributed environments. This method requires that additional separate hardware is available. Since an additional software stack is needed, for example, operating system and application, additional software licenses are required. Such provisioning is only applicable for systems with single applications, for example, a database server or a web server. Moreover, under certain circumstances, provisioning of additional resources is performed, even when some of the present processing capacity on the system is still unused. This is due to a use of simple metrics for deciding whether provisioning shall be performed, for example, the average response time for a transaction. Further, after the resources are made available, they require to be populated to the work distribution system and to be removed if they are no longer needed.
Container provisioning, such as the creation of logic partitions (LPARs) or virtual machines, differs from system provisioning in that the additional system is started on the same hardware.
Subsystem provisioning, i.e. creation of additional instances of subsystems, is another type of provisioning. On the z/OS operating system, a workload manager (WLM) is enabled to control the number of server instances, such as the number of batch initiators or the number of WebSphere Application Server regions, based on demand and business importance. This method involves currently available resources and provisions new software that is enabled to assume these resources.
U.S. Pat. No. 5,473,773 discloses a workload manager creating goal control data and a system resource manager causing these goals to be met by periodically sampling work unit status. In this patent, a workload manager manages accessing existing resources. Once the physical capacity of the computer system is in use, it can merely displace less important work to ensure that the higher important work maintains its defined goals. However, displacing less important work may not be warranted and may adversely affect higher important work.
Besides managing access to computing resources a workload manager usually offers a monitoring interface that provides data describing the activity of workloads such as resource consumption, performance indicators, and reasons why work was delayed.
Capacity provisioning, such as providing additional processors, memory, I/O bandwidth, and storage is a method of manual provisioning generally known in the state of the art. Capacity provisioning is the vertical (scale-up) counterpart to system provisioning, i.e. the processing capacity of an existing server is increased to handle additional work.
For manually performing capacity provisioning, a customer usually makes use of system monitoring subsystems, such as Resource Measurement Facility (RMF). Such products collect resource utilization and delay data from the Workload Manager and provide statistics about the usage of resources over time. They do also gather utilization, capacity, and configuration data from the underlying hardware. If virtualization facilities, such as zSeries Logical Partitions (LPAR) exist, data from the virtualization layer are included. If the workload performed in the user systems no longer reaches their given performance goals, as can be seen from the measurement data of the monitoring products, an operator manually activates temporary resources. However, the activation and deactivation of temporary resources usually does not occur at an optimal point of time, and thus is often performed too late, or too early. Moreover, sometimes improper resources are activated instead of suitable ones. In such a case, a suffering workload is not balanced since the current bottleneck of the system is missed, e.g. in case a general purpose processor is activated when a workload needs more memory. Such problems may occur because an operator may not monitor all metrics that are necessary to identify the appropriate missing resources correctly.
Consequently, it is an object of the present invention to provide a method and system for capacity provisioning that solves the issue of human errors and overcomes limitations in performance data analysis when performing capacity provisioning.